Packet transfer rate monitoring control apparatus method and program

ABSTRACT

In a packet communication network in which the minimum guaranteed rate and maximum limiting rate of packet transfer are contracted for each service, this invention classifies flows corresponding to received packets into group 1 to which a flow whose packet transfer rate is less than the minimum guaranteed rate belongs, group 2 to which a flow whose packet transfer rate is equal to or higher than the minimum guaranteed rate and less than the maximum limiting rate belongs, and group 3 to which a flow whose packet transfer rate exceeds the maximum limiting rate belongs. A packet received in relation to a flow which belongs to group 1 is preferentially transferred before a packet received in relation to a flow which belongs to group 2, and a packet received in relation to a flow which belongs to group 2 is preferentially transferred before a packet received in relation to a flow which belongs to group 3. This allows easy and fair redistribution of an extra band, while a packet transfer rate equal to or higher than the minimum guaranteed rate is ensured, even when traffic has increased.

TECHNICAL FIELD

[0001] The present invention relates to a packet transfer ratemonitoring control apparatus, method, and program to be incorporatedinto a packet transfer apparatus, in a packet communication network inwhich the minimum guaranteed rate or maximum limiting rate of packettransfer is contracted for each subscriber or service.

BACKGROUND ART

[0002] In packet communication using a high-speed access network such astwo-way CATV or ADSL (Asymmetric Digital Subscriber Loop), it is ageneral practice to contract one or both of the minimum guaranteed rateand maximum limiting rate of packet transfer between a subscriber andthe carrier, and decide a connection fee in accordance with thecontracted value.

[0003] Although one contract is made for each subscriber in some cases,a plurality of contracts are sometimes made in accordance with servicessuch as data, audio, and video services which a subscriber uses.Especially when a carrier applies different charging systems todifferent services, the minimum guaranteed rate and maximum limitingrate of packet transfer are contracted for each service which asubscriber uses, as in the latter case.

[0004] Also, depending on the type of service, the allowance of burst,maximum transfer delay time, and the like are also contracted inaddition to the minimum guaranteed rate and maximum limiting rate ofpacket transfer.

[0005] To fulfil the contents of these contracts with subscribers,therefore, a packet transfer apparatus of the carrier of a packetnetwork requires a packet transfer rate monitoring control apparatus.

[0006] This packet transfer rate monitoring control apparatus identifiesan upper layer flow from the header information of a packet to betransferred, and compares, for each flow, the packet transfer rate withthe minimum guaranteed rate or maximum limiting rate contracted by asubscriber in advance. In accordance with the comparison result or aservice to which the flow belongs, the apparatus performs trafficpriority control, polishing, shaping, and the like.

[0007] As the conventional packet transfer rate monitoring controlapparatus, a UPC (Usage Parameter Control) apparatus in an ATM(Asynchronous Transfer Mode) network is known. For example, thosedescribed in U.S. Pat. Nos. 5,311,513 and 6,064,651 and Japanese PatentLaid-Open Nos. 9-46344 and 9-149046 are known.

[0008] Unfortunately, these conventional packet transfer rate monitoringcontrol apparatuses define a contracted value of the maximum limitingrate by several types of parameters, and, if this contracted value isviolated, discard the packet or lower the priority of transfer by addinga tag indicating the contract violation to the packet header, so thatthe contracted value of the maximum limiting rate is not exceeded forall flows.

[0009] This system works if the maximum limiting rate and minimumguaranteed rate are equal. However, if these values are different andthe total of the maximum limiting rates of individual flows is set toexceed the interface rate of the packet transfer apparatus, and iftraffic increases temporarily, the minimum guaranteed rates of someflows are no longer ensured although each individual flow does notexceed the maximum limiting rate.

DISCLOSURE OF INVENTION

[0010] It is the first object of the present invention to provide apacket transfer rate monitoring control apparatus and the like which, ina packet communication network in which the minimum guaranteed rate andmaximum limiting rate of packet transfer are contracted for each servicewhich a subscriber uses, can ensure a packet transfer rate higher thanthe minimum guaranteed rate even when traffic has increased.

[0011] It is the second object of the present invention to provide apacket transfer rate monitoring control apparatus and the like which, ina packet communication network in which the minimum guaranteed rate andmaximum limiting rate of packet transfer are contracted for each servicewhich a subscriber uses, can always give priority to packet transfer ofa flow lower than the minimum guaranteed rate by classifying upper layerflows to which received packets belong into three groups in accordancewith the packet transfer rate, and can thereby assure the minimumguaranteed rates of all flows even when traffic has increasedtemporarily.

[0012] It is the third object of the present invention to provide apacket transfer rate monitoring control apparatus and the like which, ina packet communication network in which the minimum guaranteed rate andmaximum limiting rate of packet transfer are contracted for each servicewhich a subscriber uses, performs queuing of packets for each flow andcan thereby easily perform shaping, such that the traffic characteristicfollows the maximum limiting rate, in addition to packet discarding andtagging, for a packet which belongs to a flow exceeding the maximumlimiting rate.

[0013] It is the fourth object of the present invention to provide apacket transfer rate monitoring control apparatus and the like which, ina packet communication network in which the minimum guaranteed rate andmaximum limiting rate of packet transfer are contracted for each servicewhich a subscriber uses, redistributes an extra band to flows which aretransferring packets and can thereby fairly allocate the extra band toflows whose packet transfer rates are equal to or higher than theminimum guaranteed rate or lower than the maximum limiting rate, inaccordance with the minimum guaranteed rate of each flow.

[0014] It is the fifth object of the present invention to provide apacket transfer rate monitoring control apparatus and the like which, ina packet communication network in which the minimum guaranteed rate andmaximum limiting rate of packet transfer are contracted for each servicewhich a subscriber uses, defines a weighting coefficient by using aparameter a which takes a value from 0 to 1 and thereby allows thecarrier to redistribute an extra band on the basis of both thecontracted value of the minimum guaranteed rate and the contracted valueof the maximum limiting rate.

[0015] It is the sixth object of the present invention to provide apacket transfer rate monitoring control apparatus and the like which, ina packet communication network in which the minimum guaranteed rate andmaximum limiting rate of packet transfer are contracted for each servicewhich a subscriber uses, switches packet discarding and shaping inaccordance with a transport layer protocol and can thereby not onlyaccurately limit the maximum limiting rate but also save buffers forshaping.

[0016] It is the seventh object of the present invention to provide apacket transfer rate monitoring control apparatus and the like which, ina packet communication network in which the minimum guaranteed rate andmaximum limiting rate of packet transfer are contracted for each servicewhich a subscriber uses, can restrict the packet transfer rate to themaximum limiting rate without performing any packet discarding orshaping.

[0017] It is the eighth object of the present invention to provide apacket transfer rate monitoring control apparatus and the like which, ina packet communication network in which the minimum guaranteed rate andmaximum limiting rate of packet transfer are contracted for each servicewhich a subscriber uses, if the packet transfer rate becomes lower thanthe maximum limiting rate, can restrict the packet transfer rate to themaximum limiting rate by stopping overwriting of the receiving windowsize in an acknowledgement packet.

[0018] It is the eighth object of the present invention to provide apacket transfer rate monitoring control apparatus and the like which, ina packet communication network in which the minimum guaranteed rate andmaximum limiting rate of packet transfer are contracted for each servicewhich a subscriber uses, can ensure a packet transfer rate higher thanthe minimum guaranteed rate even when traffic has increased.

[0019] To achieve these objects,

[0020] the first packet transfer rate monitoring control apparatus ofthe present invention is a packet transfer rate monitoring controlapparatus of a packet transfer apparatus for routing a variable-lengthpacket, characterized in that, from a received packet an upper layerflow to which the received packet belongs is identified, a packettransfer rate is measured from the transfer interval and length of thereceived packet, and the measured packet transfer rate is compared withrate information preset for each flow to determine priority order inwhich individual received packets are transferred, therebypreferentially transferring a packet received in relation to a flowwhose packet transfer rate is less than a minimum guaranteed rate beforea packet received in relation to a flow whose packet transfer rate isequal to or higher than the minimum guaranteed rate, and preferentiallytransferring a packet received in relation to a flow whose packettransfer rate is less than a maximum limiting rate before a packetreceived in relation to a flow whose packet transfer rate is equal to orhigher than the maximum limiting rate.

[0021] A packet transfer rate monitoring control apparatus of the secondinvention is characterized by comprising, in the first invention, upperlayer flow identifying means for identifying, from header information ofa received packet, an upper layer flow to which the received packetbelongs, packet transfer rate measuring means for measuring a packettransfer rate from the transfer interval and length of a receivedpacket, for each flow identified by the upper layer flow identifyingmeans, comparing means for comparing the packet transfer rate measuredby the packet transfer rate measuring means with minimum guaranteed rateinformation and maximum limiting rate information preset for each flow,and classifying means for classifying flows corresponding to receivedpackets, on the basis of the result of comparison by the comparingmeans, into group 1 to which a flow whose packet transfer rate is lessthan the minimum guaranteed rate belongs, group 2 to which a flow whosepacket transfer rate is equal to or higher than the minimum guaranteedrate and less than the maximum limiting rate belongs, and group 3 towhich a flow whose packet transfer rate exceeds the maximum limitingrate belongs,

[0022] wherein a packet received in relation to a flow which belongs togroup 1 is preferentially transferred before a packet received inrelation to a flow which belongs to group 2, and a packet received inrelation to a flow which belongs to group 2 is preferentiallytransferred before a packet received in relation to a flow which belongsto group 3.

[0023] A packet transfer rate monitoring control apparatus of the thirdinvention is characterized in that, in the second invention, thereceived packets are queued in order of arrival for each flow identifiedby the upper layer flow identifying means.

[0024] A packet transfer rate monitoring control apparatus of the fourthinvention is characterized in that, in the second or third invention,letting {K1, K2, . . . , Ki} be minimum guaranteed rates preset forflows {F1, F2, . . . , Fi} which belong to group 1 and Ksum be the sumtotal of these minimum guaranteed rates, weighting coefficients {W1, W2,. . . , Wi} for the flows {F1, F2, . . . , Fi} which belong to group 1are defined as W1=K1/Ksum, W2=K2/Ksum, . . . , Wi=Ki/Ksum, letting {L1,L2, . . . , Lj} be minimum guaranteed rates preset for flows {G1, G2, .. . , Gj} which belong to group 2 and Lsum be the sum total of theseminimum guaranteed rates, weighting coefficients {V1, V2, . . . , Vj}for the flows {G1, G2, . . . , Gj} which belong to group 2 are definedas V1=L1/Lsum, V2=L2/Lsum, . . . , Vj=Lj/Lsum, letting C be the outputinterface rate of a packet, the flows {F1, F2, . . . , Fi} of group 1are classified into group 1A whose packet transfer rate is less than{C×W1, C×W2, . . . , C×Wi} and group 1B whose packet transfer rate isequal to or higher than {C×W1, C×W2, . . . , C×Wi}, and the flows {G1,G2, . . . , Gj} of group 2 are classified into group 2A whose packettransfer rate is less than {(C−Ksum)×V1, (C−Ksum)×V2, . . . ,(C−Ksum)×Vj} and group 2B whose packet transfer rate is equal to orhigher than {(C−Ksum)×V1, (C−Ksum)×V2, . . . , (C−Ksum)×Vj}, and apacket received in relation to a flow which belongs to group 1A ispreferentially transferred before a packet received in relation to aflow which belongs to group 1B, and a packet received in relation to aflow which belongs to group 2A is preferentially transferred before apacket received in relation to a flow which belongs to group 2B.

[0025] A packet transfer rate monitoring control apparatus of the fifthinvention is characterized in that, in the second or third invention,letting {M1, M2, . . . , Mi} be maximum limiting rates preset for flows{F1, F2, . . . , Fi} which belong to group 1 and Msum be the sum totalof these maximum limiting rates, weighting coefficients {W1, W2, . . . ,Wi} for the flows {F1, F2, . . . , Fi} which belong to group 1 aredefined as W1=M1/Msum, W2=M2/Msum, . . . , Wi=Mi/Msum, letting {N1, N2,. . . , Nj} be maximum limiting rates preset for flows {G1, G2, . . . ,Gj} which belong to group 2 and Nsum be the sum total of these maximumlimiting rates, weighting coefficients {V1, V2, . . . , Vj} for theflows {G1, G2, . . . , Gj} which belong to group 2 are defined asV1=N1/Nsum, V2=N2/Nsum, . . . , Vj=Nj/Nsum, letting C be the outputinterface rate of a packet, the flows {F1, F2, . . . , Fi} of group 1are classified into group 1A whose packet transfer rate is less than{C×W1, C×W2, . . . , C×Wi} and group 1B whose packet transfer rate isequal to or higher than {C×W1, C×W2, . . . , C×Wi}, and the flows {G1,G2, . . . , Gj} of group 2 are classified into group 2A whose packettransfer rate is less than {(C−Msum)×V1, (C−Msum)×V2, . . . ,(C−Msum)×Vj} and group 2B whose packet transfer rate is equal to orhigher than {(C−Msum)×V1, (C−Msum)×V2, . . . , (C−Msum)×Vj}, and apacket received in relation to a flow which belongs to group 1A ispreferentially transferred before a packet received in relation to aflow which belongs to group 1B, and a packet received in relation to aflow which belongs to group 2A is preferentially transferred before apacket received in relation to a flow which belongs to group 2B.

[0026] A packet transfer rate monitoring control apparatus of the sixthinvention is characterized in that, in the second or third invention,letting {K1, K2, . . . , Ki} be minimum guaranteed rates preset forflows {F1, F2, . . . , Fi} which belong to group 1 and Ksum be the sumtotal of these minimum guaranteed rates, weighting coefficients {W1, W2,. . . , Wi} for the flows {F1, F2, . . . , Fi} which belong to group 1are defined as W1=K1/Ksum, W2=K2/Ksum, . . . , Wi=Ki/Ksum,

[0027] letting {L1, L2, . . . , Lj} be minimum guaranteed rates presetfor flows {G1, G2, . . . , Gj} which belong to group 2 and Lsum be thesum total of these minimum guaranteed rates,

[0028] weighting coefficients {V1, V2, . . . , Vj} for the flows {G1,G2, . . . , Gj} which belong to group 2 are defined as V1=L1/Lsum,V2=L2/Lsum, . . . , Vj=Lj/Lsum,

[0029] letting {M1, M2, . . . , Mi} be maximum limiting rates preset forthe flows {F1, F2, . . . , Fi} which belong to group 1 and Msum be thesum total of these maximum limiting rates, weighting coefficients {W1,W2, . . . , Wi} for the flows {F1, F2, . . . , Fi} which belong to group1 are defined as W1=M1/Msum, W2=M2/Msum, . . . , Wi=Mi/Msum,

[0030] letting {N1, N2, . . . , Nj} be maximum limiting rates preset forthe flows {G1, G2, . . . , Gj} which belong to group 2 and Nsum be thesum total of these maximum limiting rates,

[0031] weighting coefficients {V1, V2, . . . , Vj} for the flows {G1,G2, . . . , Gj} which belong to group 2 are defined as V1=N1/Nsum,V2=N2/Nsum, . . . , Vj=Nj/Nsum,

[0032] by using a parameter α which takes a value from 0 to 1, theweighting coefficients {W1, W2, . . . , Wi} for the flows {F1, F2, . . ., Fi} which belong to group 1 are defined by W1=α×K1/Ksum+(1−α)×M1/Msum,W2=α×K2/Ksum+(1−α)×M2/Msum, . . . , Wi=α=Ki/Ksum+(1−α)×Mi/Msum, and

[0033] the weighting coefficients {V1, V2, . . . , Vj} for the flows{G1, G2, . . . , Gj} which belong to group 2 are defined byV1=α=L1/Lsum+(1−α)×N1/Nsum, V2=α×L2/Lsum+(1−α)×N2/Nsum, . . . ,Vj=α×Lj/Lsum+(1−α)×Nj/Nsum, and

[0034] the parameter 60 can be externally set.

[0035] A packet transfer rate monitoring control apparatus of theseventh invention is characterized by further comprising, in the secondor third invention, protocol type identifying means for identifying theprotocol type of a transport layer from header information of a receivedpacket, wherein if a packet transfer rate exceeds the maximum limitingrate, it is selected, in accordance with the transport layer's protocolidentified by the protocol type identifying means, whether to discardthe received packet or perform shaping by delaying transfer of thereceived packet until the packet transfer rate becomes equal to or lowerthan the maximum limiting rate.

[0036] A packet transfer rate monitoring control apparatus of the eighthinvention is characterized by further comprising, in the second or thirdinvention, protocol type identifying means for identifying the protocoltype of a transport layer from header information of a received packet,wherein if the transport layer's protocol identified by the protocoltype identifying means is TCP (Transmission Control Protocol) and apacket transfer rate exceeds the maximum limiting rate, a CE (CongestionExperienced) bit defined by RFC2481 is added to the header of the packetto be transferred, thereby informing a transmitting node of suppressionof a transmission rate.

[0037] A packet transfer rate monitoring control apparatus of the ninthinvention is characterized by further comprising, in the second or thirdinvention, protocol type identifying means for identifying the protocoltype of a transport layer from header information of a received packet,wherein if the transport layer's protocol identified by the protocoltype identifying means is TCP (Transmission Control Protocol) and apacket transfer rate exceeds the maximum limiting rate, the receivingwindow size is overwritten to 0 in the TCP header of an acknowledgementpacket transferred from a receiving node to the transmitting node afterthat, thereby informing a transmitting node of suppression of atransmission rate.

[0038] The 10th invention is packet transfer rate monitoring controlmethod of a packet transfer apparatus for routing a variable-lengthpacket, characterized in that, from a received packet an upper layerflow to which the received packet belongs is identified, a packettransfer rate is measured from the transfer interval and length of thereceived packet, and the measured packet transfer rate is compared withrate information preset for each flow to determine priority order inwhich individual received packets are transferred, therebypreferentially transferring a packet received in relation to a flowwhose packet transfer rate is less than a minimum guaranteed rate beforea packet received in relation to a flow whose packet transfer rate isequal to or higher than the minimum guaranteed rate, and preferentiallytransferring a packet received in relation to a flow whose packettransfer rate is less than a maximum limiting rate before a packetreceived in relation to a flow whose packet transfer rate is equal to orhigher than the maximum limiting rate.

[0039] In this 10th invention, therefore, in a packet communicationnetwork in which the minimum guaranteed rate and maximum limiting rateof packet transfer are contracted for each service which a subscriberuses, a packet transfer rate equal to or higher than the minimumguaranteed rate can be assured even when traffic has increased.

[0040] A packet transfer rate monitoring control method of the 11thembodiment is characterized by comprising the upper layer flowidentification procedure of identifying, from header information of areceived packet, an upper layer flow to which the received packetbelongs, the packet transfer rate measurement procedure of measuring apacket transfer rate from the transfer interval and length of a receivedpacket, for each flow identified by the upper layer flow identificationprocedure, the comparison procedure of comparing the packet transferrate measured by the packet transfer rate measurement procedure withminimum guaranteed rate information and maximum limiting rateinformation preset for each flow, the classification procedure ofclassifying flows corresponding to received packets, on the basis of theresult of comparison by the comparison procedure, into group 1 to whicha flow whose packet transfer rate is less than the minimum guaranteedrate belongs, group 2 to which a flow whose packet transfer rate isequal to or higher than the minimum guaranteed rate and less than themaximum limiting rate belongs, and group 3 to which a flow whose packettransfer rate exceeds the maximum limiting rate belongs, and thetransfer control procedure of preferentially transferring a packetreceived in relation to a flow which belongs to group 1 before a packetreceived in relation to a flow which belongs to group 2, andpreferentially transferring a packet received in relation to a flowwhich belongs to group 2 before a packet received in relation to a flowwhich belongs to group 3.

[0041] The 12th invention is a program for controlling the operation ofa computer which controls a packet transfer apparatus for routing avariable-length packet, characterized by allowing the computer toexecute the upper layer flow identification procedure of identifying,from header information of a received packet, an upper layer flow towhich the received packet belongs, the packet transfer rate measurementprocedure of measuring a packet transfer rate from the transfer intervaland length of a received packet, for each flow identified by the upperlayer flow identification procedure, the comparison procedure ofcomparing the packet transfer rate measured by the packet transfer ratemeasurement procedure with minimum guaranteed rate information andmaximum limiting rate information preset for each flow, theclassification procedure of classifying flows corresponding to receivedpackets, on the basis of the result of comparison by the comparisonprocedure, into group 1 to which a flow whose packet transfer rate isless than the minimum guaranteed rate belongs, group 2 to which a flowwhose packet transfer rate is equal to or higher than the minimumguaranteed rate and less than the maximum limiting rate belongs, andgroup 3 to which a flow whose packet transfer rate exceeds the maximumlimiting rate belongs, and the transfer control procedure ofpreferentially transferring a packet received in relation to a flowwhich belongs to group 1 before a packet received in relation to a flowwhich belongs to group 2, and preferentially transferring a packetreceived in relation to a flow which belongs to group 2 before a packetreceived in relation to a flow which belongs to group 3.

BRIEF DESCRIPTION OF DRAWINGS

[0042]FIG. 1 is a block diagram showing an example of a packetcommunication network including a packet transfer apparatus to which thefirst embodiment of the present invention is applied;

[0043]FIG. 2 is a block diagram showing details of the arrangement ofthe packet transfer apparatus according to the first embodiment of thepresent invention;

[0044]FIG. 3 is a view for explaining the data structures of a flowidentification database, packet transfer rate measuring means, minimumguaranteed rate storage means, and maximum limiting rate storage means;

[0045]FIG. 4 is a block diagram showing the arrangement of a packettransfer apparatus according to the second and third embodiments of thepresent invention; and

[0046]FIG. 5 is a view for explaining the data structure of a packettransfer rate measuring means according to the fourth embodiment of thepresent invention.

BEST MODE OF CARRYING OUT THE INVENTION

[0047] Embodiments of a packet transfer rate monitoring controlapparatus, method, and program according to the present invention willbe described below.

[0048] Note that these embodiments explained below are preferredpractical examples of the present invention. Although varioustechnically favored limitations are imposed on these embodiments, thescope of the present invention is not restricted to these embodimentsunless otherwise specified.

[0049]FIG. 1 is a block diagram showing an example of a packetcommunication network including a packet transfer apparatus to which thefirst embodiment of the present invention is applied.

[0050] An outline of this packet communication network will be explainedbelow.

[0051] A packet transfer apparatus 10 is connected to packetcommunication networks 40 and 50, respectively, via interfaces 60 and70.

[0052] A transmission node 20 is connected to the packet communicationnetwork 40 via an interface 80. A reception node 30 is connected to thepacket communication network 50 via an interface 90. The transmissionnode 20 outputs a data packet 100 to the reception node 30. The packettransfer apparatus 10 receives this data packet 100 from the interface60.

[0053] The packet transfer apparatus 10 performs a routing process forthe input data packet 100 on the basis of header information of thepacket. After rewriting the packet's header information as needed, thepacket transfer apparatus 10 outputs a data packet 101 from theinterface 70. When receiving this data packet 101, the reception node 30returns an acknowledgement (ACK) packet 200 to the transmission node 20.

[0054] This acknowledgement packet 200 is relayed by the packet transferapparatus 10, and the transmission node 10 receives an acknowledgementpacket 201.

[0055]FIG. 2 is a block diagram showing details of the arrangement ofthe packet transfer apparatus 10 according to the first embodiment ofthe present invention.

[0056] This packet transfer apparatus 10 includes the interfaces 60 and70, a packet routing means 300, routing database 301, a flow identifyingmeans 302, a flow identification database 303, a packet transfer ratemeasuring means 304, a minimum guaranteed rate storage means 305, amaximum limiting rate storage means 306, queue selecting means 307, 308,and 309, and a queue group selecting means 310.

[0057] When receiving the data packet 100 from the interface 60, thepacket transfer apparatus 10 outputs this data packet 100 to the packetrouting means 300.

[0058] On the basis of header information of an input data packet 102,the packet routing means 300 searches the routing database 301 todetermine the output interface 70. In addition, the packet routing means300 rewrites the header information of the data packet where necessary,and outputs the packet to the flow identifying means 302.

[0059] On the basis of header information of a data packet 103, the flowidentifying means 302 searches the flow identification database 303 toidentify an upper layer's flow corresponding to the received datapacket.

[0060] The packet transfer rate measuring means 304 stores themeasurement value of a packet transfer rate measured for each identifiedflow, and inquires of the minimum guaranteed rate storage means 305 andmaximum limiting rate storage means 306 whether the packet transfer rateis less than the minimum guaranteed rate, equal to or higher than theminimum guaranteed rate and less than the maximum limiting rate, orequal to or higher than the maximum limiting rate.

[0061] The flow identifying means 302 inserts (queues) packets, in orderof arrival, into queues prepared in one-to-one correspondence with theindividual identified flows.

[0062] These queues prepared for the individual flows are classifiedinto a queue group (group 1) 401 containing queues {Q11, Q12, . . . ,Q1i} lower than the minimum guaranteed rate, a queue group (group 2) 402containing queues {Q21, Q22, . . . , Q2i} equal to or higher than theminimum guaranteed rate and lower than the maximum limiting rate, and aqueue group (group 3) 403 containing queues {Q31, Q32, . . . , Q3h}equal to or higher than the maximum limiting rate.

[0063] To extract from a queue a packet to be transferred, the queue forextraction is selected from one of these queue groups.

[0064] In this case, the queue selecting means 307, 308, and 309 selectqueues of flows which belong to the queue groups 401, 402, and 403,respectively.

[0065] The queue selection method in these queue selecting means 307,308, and 309 may be simple round robin scheduling or a method by whichexpected transfer times are managed on the basis of the minimumguaranteed rate, maximum limiting rate, and packet transfer ratemeasurement value of each flow, and a packet is extracted from the queueof a flow having the minimum expected transfer time.

[0066] The queue group selecting means 310 selects one of the threequeues selected by the queue selecting means 307, 308, and 309.

[0067] This queue selection in the queue group selecting means 310 isperformed such that a queue selected by the queue selecting means 307has preference to a queue selected by the queue selecting means 308, anda queue selected by the queue selecting means 308 has preference to aqueue selected by the queue selecting means 309.

[0068] Accordingly, the queue of each flow whose packet transfer rate isless than the minimum guaranteed rate is preferentially selected beforethe queue of each flow whose packet transfer rate is equal to or higherthan the minimum guaranteed rate and less than the maximum limitingrate.

[0069] Also, the queue of each flow whose packet transfer rate is equalto or higher than the minimum guaranteed rate and less than the maximumlimiting rate is preferentially selected before a queue whose packettransfer rate is equal to or higher than the maximum limiting rate.

[0070] Subsequently, the queue selecting means 310 extracts a datapacket 104 from the head of the thus selected queue of each flow,measures the packet transfer rate of each flow, and updates theinformation stored in the packet transfer rate measuring means 304. Theextracted data packet 104 is output from the interface 70.

[0071] Note that a queue group to which each flow belongs varieswhenever the packet transfer rate is performed. If the packet transferrate rises after packet transfer is continuously performed for the sameflow, the queue of each flow is moved from the queue group 401 to thequeue group 402, or from the queue group 402 to the queue group 403. Onthe other hand, if the packet flow rate lowers because no packettransfer can be performed for the same flow for a while, the queue ofeach flow is moved from the queue group 402 to the queue group 401, orfrom the queue group 403 to the queue group 402.

[0072] In this embodiment as described above, flows are classified intothree groups in accordance with the packet transfer rate. This makes itpossible to always preferentially transfer a received packet for a flowwhich transmits packets at a rate less than the minimum guaranteed rate.Therefore, even when traffic has increased temporarily, transfer at theminimum guaranteed rate can be ensured.

[0073]FIG. 3 is a view for explaining the data structures of the flowidentification database 303, packet transfer rate measuring means 304,minimum guaranteed rate storage means 305, and maximum limiting ratestorage means 306 according to the first embodiment of the presentinvention.

[0074] The flow identification database 303 holds information concerninga packet header, e.g., a transmission source IP address 540, destinationIP address 541, transport layer protocol 542, transmission source portnumber 543, and destination port number 544. This flow identificationdatabase 303 performs mapping for a corresponding flow identifier 503.

[0075] The packet transfer rate measuring means 304 holds, for eachidentified flow, information containing a flow identifier 502, ameasured packet transfer rate 530, a queue group 531 to which the flowbelongs, last transfer time 532, and the number 533 of packets beingqueued. The packet transfer rate measuring means 304 updates thesepieces of information when transferring a packet.

[0076] The minimum guaranteed rate storage means 305 and maximumlimiting rate storage means 306 hold a minimum guaranteed rate 510 andmaximum limiting rate 502 corresponding to flow identifiers 500 and 501,respectively.

[0077] The packet transfer operation described above can be controlledby using these data structures.

[0078] Other embodiments of the present invention will be describedbelow.

[0079]FIG. 4 is a block diagram showing the arrangement of a packettransfer apparatus 11 according to the second embodiment of the presentinvention.

[0080] This packet transfer apparatus 11 includes interfaces 60 and 70,packet routing means 300, routing database 301, flow identifying means302, flow identification database 303, packet transfer rate measuringmeans 311, minimum guaranteed rate storage means 312, maximum limitingrate storage means 313, queue selecting means 307 a, 307 b, 308 a, 308b, and 309, and queue group selecting means 310.

[0081] In this second embodiment, groups of queues whose packet transferrates are less than the minimum guaranteed rate are classified into 401a and 401 b, and groups of queues whose packet transfer rates are equalto or higher than the minimum guaranteed rate and equal to or lower thanthe maximum limiting rate are classified into 402 a and 402 b. Thisclassification is done as follows.

[0082] First, the packet transfer rate measuring means 311 holds a sumtotal Rsum of packet transfer rates {R1, R2, . . . , Ri} measured forflows {F1, F2, . . . , Fi} whose packet transfer rates are less than theminimum guaranteed rate, and a sum total Tsum of packet transfer rates{T1, T2, . . . , Ti} measured for flows {G1, G2, . . . , Gi} whosepacket transfer rates are equal to or higher than the minimum guaranteedrate and less than the maximum limiting rate.

[0083] The minimum guaranteed rate storage means 312 holds a sum totalKsum of minimum guaranteed rates {K1, K2, . . . , Ki} preset for theflows {F1, F2, . . . , Fi}, and a sum total Lsum of minimum guaranteedrates {L1, L2, . . . , Li} preset for the flows {G1, G2, . . . , Gj}.The minimum guaranteed rate storage means 312 also calculates weightingcoefficients {W1, W2, . . . , Wj} for the flows {F1, F2, . . . , Fi} byW1=K1/Ksum, W2=K2/Ksum, . . . , Wj=Kj/Ksum, and weighting coefficients{V1, V2, . . . , Vj} for the flows {G1, G2, . . . , Gj} by V1=L1/Lsum,V2=L2/Lsum, . . . , Vj=Lj/Lsum, and holds these weighting coefficients.

[0084] Letting C be the interface rate of the packet output interface70, queues {Q11, Q12, . . . , Q1i} for the flows {F1, F2, . . . , Fi}are classified into the queue group 401 a whose packet transfer rate isless than {C×W1, C×W2, . . . , C×Wi}, and the queue group 401 b whosepacket transfer rate is equal to or higher than {C×W1, C×W2, . . . ,C×Wi}. Queues {Q21, Q22, . . . , Q2j} for the flows {G1, G2, . . . , Gj}are classified into the queue group 402 a whose packet transfer rate isless than {(C×Ksum)×V1, (C−Ksum)×V2, . . . , (C−Ksum)×Vj}, and the queuegroup 402 b whose packet transfer rate is equal to or higher than{(C−Ksum)×V1, (C−Ksum)×V2, . . . , (C−Ksum)×Vj}.

[0085] The queue group selecting means 310 preferentially selects queueswhich belong to the queue group 401 a before queues which belong to thequeue group 401 b, and preferentially selects queues which belong to thequeue group 402 a before queues which belong to the queue group 402 b.When output queues are thus selected, received packets are transferredas follows in accordance with the input traffic amount.

Condition C<(Rsum+Tsum)  (1)

[0086] In this case, a sufficient band is available for all flows whichare transferring packets at rates equal to or lower than the maximumlimiting rate. Therefore, packets received in relation to flows whichbelong to the queue groups 401 a, 401 b, 402 a, and 402 b areimmediately transferred.

Condition Rsum≦C≦(Rsum+Tsum)  (2)

[0087] In this case, a sufficient band is available for flows whichbelong to the queue groups 401 a and 401 b, so received packets areimmediately transferred.

[0088] Packets received in relation to flows which belong to the queuegroup 402 a are preferentially transferred before packets received inrelation to flows which belong to the queue group 402 b.

[0089] Note that as in the first embodiment, if the packet transfer raterises after packet transfer is continuously performed for the same flow,the queue of each flow is moved from the queue group 402 a to the queuegroup 402 b and a queue group 403.

[0090] On the other hand, if the packet flow rate lowers because nopacket transfer can be performed for the same flow for a while, thequeue of each flow is moved from the queue group 403 to the queue group402 b, or from the queue group 402 b to the queue group 402 a.

[0091] As described above, packet queues related to flows whose packettransfer rates are equal to or higher than the minimum guaranteed rateand less than the maximum limiting rate are classified into two groupsin accordance with the packet transfer rate. This allows an extra bandto be fairly distributed in accordance with the minimum guaranteed bandsof the individual flows.

Condition C<Rsum  (3)

[0092] In this case, no sufficient band can be secured even for flowswhich belong to the queue groups 401 a and 401 b. So, the minimumguaranteed rate cannot be assured any longer.

[0093] When the total of minimum guaranteed bands reserved for theindividual flows is permitted to exceed the line rate, the abovesituation occurs if the input traffic amount increases temporarily.

[0094] Packets received in relation to flows which belong to the queuegroup 401 a are preferentially transferred before packets received inrelation to flows which belong to the queue group 401 b. Accordingly,the whole band (C) of the output line can be fairly distributed to flowswhose packet transfer rates are less than the minimum guaranteed rate,in accordance with the minimum guaranteed band of each flow.

[0095] In the second embodiment of the present invention as describedabove, an extra band can be redistributed to individual flows on thebasis of the contracted value of the minimum guaranteed rate of eachflow.

[0096] This embodiment is suited to a case in which the cost of servicewhich a carrier provides to a subscriber corresponds to the minimumguaranteed rate.

[0097] The third embodiment of the present invention will be explainedbelow.

[0098] The arrangement of a packet transfer apparatus according to thisthird embodiment is the same as the packet transfer apparatus 11 of thesecond embodiment described above.

[0099] A maximum limiting rate storage means 313 according to this thirdembodiment holds a total sum Msum of maximum limiting rates {M1, M2, . .. , Mi} preset for flows {F1, F2, . . . , Fi}, and a total sum Nsum ofmaximum flow rates {N1, N2, . . . , Ni} preset for flows {G1, G2, . . ., Gj}. This maximum limiting rate storage means 313 also calculatesweighting coefficients {W1, W2, . . . , Wj} for the flows {F1, F2, . . ., Fi} by W1=M1/Msum, W2=M2/Msum, . . . , Wj=Mj/Msum, and weightingcoefficients {V1, V2, . . . , Vj} for the flows {G1, G2, . . . , Gj} byV1=N1/Nsum, V2=N2/Nsum, . . . , Vj=Nj/Nsum, and holds these weightingcoefficients.

[0100] Queues {Q11, Q12, . . . , Q1i} are classified into queue groups401 a and 401 b on the basis of the weighting coefficients {W1, W2, . .. , Wi} determined on the basis of the maximum limiting rates asdescribed above. Queues {Q21, Q22, . . . , Q2j} are classified intoqueue groups 402 a and 402 b on the basis of the weighting coefficients{V1, V2, . . . , Vj} determined on the basis of the maximum limitingrates as described above.

[0101] As in the second embodiment, a queue group selecting means 310preferentially selects queues which belong to the queue group 401 abefore queues which belong to the queue group 401 b, and preferentiallyselects queues which belong to the queue group 402 a before queues whichbelong to the queue group 402 b.

[0102] By selecting output queues in this way, an extra band can beredistributed to individual flows on the basis of the contracted valueof the maximum limiting rate of each flow.

[0103] This embodiment is suited to a case in which the cost of servicewhich a carrier provides to a subscriber corresponds to the maximumlimiting rate.

[0104] Note that in the second and third embodiments of the presentinvention, the method of calculating the weighting coefficients {W1, W2,. . . , Wi} and {V1, V2, . . . , Vj} used in the distribution of anextra band is not restricted to the above-mentioned method.

[0105] For example, when a carrier wants to decide the extra banddistribution plan on the basis of both the contracted values of theminimum guaranteed rate and maximum limiting rate of service, it ispossible to externally supply a parameter a within the range of 0 to 1to the packet transfer apparatus, and calculate

W1=α×K1/Ksum+(1−α)×M1/Msum, W2=α×K2/Ksum+(1−α)×M2/Msum, . . . ,Wi=α×Ki/Ksum+(1−α)×Mi/Msum, and

V1=α×L1/Lsum+(1−α)×N1/Nsum, V2=α×L2/Lsum+(1−α)×N2/Nsum, . . . ,Vj=α×Lj/Lsum+(1−α)×Nj/Nsum

[0106] by using this parameter α.

[0107] The fourth embodiment of the present invention will be explainedbelow.

[0108]FIG. 5 is a view for explaining the data structure of a packettransfer rate measuring means 314 according to this fourth embodiment.

[0109] As in the first embodiment described earlier, a packet transferrate 534, queue group 535, last transfer time 536, and number 537 ofpackets being queued are held for each flow. In addition, a processingmethod 538 when the maximum limiting rate is exceeded is saved for eachflow.

[0110] Examples of this processing method when the maximum limiting rateis exceeded are traffic shaping (Shape), received packet discarding(Drop), and random packet discarding (Random-Drop).

[0111] Furthermore, when a transport layer protocol is TCP, addition ofa Congestion Experiend bit to the packet header (ECN) and overwriting of0 to the receiving window size of an acknowledgement packet(Zero-Window) can also be designated in addition to the above processingmethods.

[0112] This processing method 538 when the maximum limiting rate isexceeded is determined on the basis of a transport layer protocol 542 inflow identification conditions stored in a flow identification database303.

[0113] For example, if the transport layer protocol is UDP, theprocessing method when the maximum limiting rate is exceeded is set to(Drop). If the transport layer protocol is TCP, the processing method isset to Shape, (Shape, ECN), or Random-Drop.

[0114] If the transport layer protocol is TCP and the CongestionExperiend bit is added when the maximum limiting rate is exceeded, areception node notifies a transmission node of the occurrence ofcongestion in the packet transfer path by using an acknowledgementpacket which is returned to the transmission node. Accordingly, thetransmission node automatically reduces the transmission rate until therate becomes equal to or lower than the maximum limiting rate.

[0115] Also, if the transport layer protocol is TCP and the receivingwindow size in the acknowledgement packet returned from the receptionnode when the maximum limiting rate is exceeded is overwritten to 0, thetransmission node temporarily stops packet transmission after that.

[0116] After that, the transmission node activates a Persist timer ofTCP and periodically probes the receiving window size of the receptionnode until this receiving widow size becomes large enough.

[0117] If the packet transfer rate becomes lower than the maximumlimiting rate, the packet transfer apparatus stops overwriting of thereceiving window size in the acknowledgement packet. As a consequence,the packet transfer rate can be restricted to the maximum limiting rate.By thus selecting, on the basis of the transport layer protocol of theflow identification conditions, the processing method when the maximumlimiting rate is exceeded, it is possible to reduce buffers necessaryfor shaping and also reduce the processing load required for shaping.

[0118] Note that in addition to the packet transfer rate monitoringcontrol apparatus contained in the packet transfer apparatuses havingthe arrangements as described above, the present invention includes apacket transfer rate monitoring control method comprising the individualprocedures described above, and a program for allowing a computer suchas a CPU for controlling the packet transfer apparatus to execute theseprocedures.

[0119] As has been explained above, the following effects are obtainedby the present invention.

[0120] That is, according to the first invention described above, in apacket communication network in which the minimum guaranteed rate andmaximum limiting rate of packet transfer are contracted for each servicewhich a subscriber uses, a packet transfer rate equal to or higher thanthe minimum guaranteed rate can be ensured even when traffic hasincreased.

[0121] According to the second invention described above, flows areclassified into three groups in accordance with the packet transferrate, so packet transfer for a flow lower than the minimum guaranteedrate can always be preferentially performed. Therefore, the minimumguaranteed rates of all flows can be assured even when traffic hasincreased temporarily. Note that groups to which flows belong are notfixed but vary with time in accordance with the packet transfer rate.

[0122] Accordingly, when received packet transfer for a flow whichbelongs to group 2 is not performed for a while because received packetsfor a flow which belongs to group 1 are preferentially transferred, thepacket transfer rate of the flow which belongs to group 2 lowers. Ifthis packet transfer rate becomes lower than the minimum guaranteedrate, the flow switches to group 1. In this manner, packet transferequal to or higher than the contracted value of the minimum guaranteedrate can be performed even for a flow which has temporarily exceeded theminimum guaranteed rate.

[0123] By queuing packets for each flow as in the third inventiondescribed above, shaping can be easily performed, such that the trafficcharacteristic follows the maximum limiting rate, in addition to packetdiscarding and tagging, for packets which belong to a flow exceeding themaximum limiting rate.

[0124] By redistributing an extra band as in the fourth inventiondescribed above, the extra band can be fairly allocated, in accordancewith the minimum guaranteed rate of each flow, even to flows whosepacket transfer rates are equal to or higher than the minimum guaranteedrate and less than the maximum limiting rate. That is, the extra bandcan be redistributed to individual flows on the basis of the contractedvalues of the minimum guaranteed rates. This fourth invention is suitedto a case in which the cost of service which a carrier provides to asubscriber corresponds to the minimum guaranteed rate.

[0125] According to the fifth invention described above, the weightingcoefficients {W1, W2, . . . , Wj} for the flows {F1, F2, . . . , Fi}which belong to group 1 and the weighting coefficients {V1, V2, . . . ,Vj} for the flows {G1, G2, . . . , Gj} which belong to group 2 aredetermined on the basis of not the minimum guaranteed rate of each flowbut the maximum limiting rate of each flow as in the fourth invention.

[0126] Accordingly, an extra band can be redistributed to the individualflows on the basis of the contracted values of the maximum limitingrates.

[0127] This fifth invention is suited to a case in which the cost ofservice which a carrier provides to a subscriber corresponds to themaximum limiting rate.

[0128] According to the sixth invention described above, the weightingcoefficients of the aforementioned fourth and fifth inventions aredefined by using the parameter α which takes a value from 0 to 1. Thisallows a carrier to redistribute an extra band on the basis of both thecontracted value of the minimum guaranteed rate and the contracted valueof the maximum limiting rate.

[0129] According to the seventh invention described above, packetdiscarding and shaping are switched in accordance with a transport layerprotocol. Therefore, not only the maximum limiting rate can beaccurately restricted, but also shaping buffers can be saved. Thissolves the following problem.

[0130] For example, if packets of a flow exceeding the maximum limitingrate are continuously discarded when the protocol type of the transportlayer is TCP, as described in W. Richard Stevens, “TCP/IP Illustratedvol. 1” (Addison-Wesley), Chapter 20, Paragraph 6, slow start by whichthe transfer rate is gradually raised is performed after the end systemrestarts packet transmission. This sometimes poses the problem that theactual packet transfer rate is always much lower than the maximumlimiting rate. This problem can be avoided by shaping without discardingpackets when the maximum limiting rate is exceeded. However, not alltransport layer protocols perform this slow start, so shaping buffersare wasted if shaping is always performed.

[0131] In the eighth invention described above, as described in RFC2481,when a receiving node receives a packet whose header information has aCE bit added to it, an ECN-echo flag is set in header information of anacknowledgement (ACK) packet to be returned to a transmitting node, andthis packet is transmitted to the transmitting node. The transmittingnode can lower the transmission rate by receiving this packet in whichthe ECN-echo flag is set in the header information. Therefore, thepacket transfer apparatus can restrict the packet transfer rate to themaximum limiting rate without packet discarding or shaping in theabove-mentioned seventh invention. To apply this eighth invention,however, both TCPs of the transmission node and reception node mustsupport RFC2481.

[0132] In the ninth invention described above, if the receiving windowsize of an acknowledgement packet of TCP received by a transmitting nodeis 0, the transmitting node determines that buffers of a receiving nodeare exhausted, and temporarily stops transmission.

[0133] After that, as described in W. Richard Stevens, “TCP/IPIllustrated vol. 1” (Addison-Wesley), Chapter 22, the transmitting nodeactivates a Persist timer of TCP and periodically probes the receivingwindow size of the receiving node. If the receiving window size becomeslarge enough, the transmitting node restarts transmission.

[0134] If the packet transfer rate becomes lower than the maximumlimiting rate, the packet transfer apparatus stops overwriting of thereceiving window size in an acknowledgement packet. Consequently, thepacket transfer rate can be restricted to the maximum limiting rate.

[0135] According to the 10th invention described above, in a packetcommunication network in which the minimum guaranteed rate and maximumlimiting rate of packet transfer are contracted for each service which asubscriber uses, a packet transfer rate equal to or higher than theminimum guaranteed rate can be assured even when traffic has increased.

[0136] The 11th and 12th inventions described above can achieve the sameeffects as in the second invention described previously.

1. A packet transfer rate monitoring control apparatus of a packettransfer apparatus for routing a variable-length packet, characterizedin that from a received packet an upper layer flow to which the receivedpacket belongs is identified, a packet transfer rate is measured fromthe transfer interval and length of the received packet, and themeasured packet transfer rate is compared with rate information presetfor each flow to determine priority order in which individual receivedpackets are transferred, thereby preferentially transferring a packetreceived in relation to a flow whose packet transfer rate is less than aminimum guaranteed rate before a packet received in relation to a flowwhose packet transfer rate is not less than the minimum guaranteed rate,and preferentially transferring a packet received in relation to a flowwhose packet transfer rate is less than a maximum limiting rate before apacket received in relation to a flow whose packet transfer rate is notless than the maximum limiting rate.
 2. A packet transfer ratemonitoring control apparatus according to claim 1, characterized bycomprising: upper layer flow identifying means for identifying, fromheader information of a received packet, an upper layer flow to whichthe received packet belongs; packet transfer rate measuring means formeasuring a packet transfer rate from the transfer interval and lengthof a received packet, for each flow identified by said upper layer flowidentifying means; comparing means for comparing the packet transferrate measured by said packet transfer rate measuring means with minimumguaranteed rate information and maximum limiting rate information presetfor each flow; and classifying means for classifying flows correspondingto received packets, on the basis of the result of comparison by saidcomparing means, into group 1 to which a flow whose packet transfer rateis less than the minimum guaranteed rate belongs, group 2 to which aflow whose packet transfer rate is not less than the minimum guaranteedrate and less than the maximum limiting rate belongs, and group 3 towhich a flow whose packet transfer rate exceeds the maximum limitingrate belongs, wherein a packet received in relation to a flow whichbelongs to group 1 is preferentially transferred before a packetreceived in relation to a flow which belongs to group 2, and a packetreceived in relation to a flow which belongs to group 2 ispreferentially transferred before a packet received in relation to aflow which belongs to group
 3. 3. A packet transfer rate monitoringcontrol apparatus according to claim 2, characterized in that thereceived packets are queued in order of arrival for each flow identifiedby said upper layer flow identifying means.
 4. A packet transfer ratemonitoring control apparatus according to claim 2 or 3, characterized inthat letting {K1, K2, . . . , Ki} be minimum guaranteed rates preset forflows {F1, F2, . . . , Fi} which belong to group 1 and Ksum be the sumtotal of these minimum guaranteed rates, weighting coefficients {W1, W2,. . . , Wi} for the flows {F1, F2, . . . , Fi} which belong to group 1are defined as W1=K1/Ksum, W2=K2/Ksum, . . . , Wi=Ki/Ksum, letting {L1,L2, . . . , Lj} be minimum guaranteed rates preset for flows {G1, G2, .. . , Gj} which belong to group 2 and Lsum be the sum total of theseminimum guaranteed rates, weighting coefficients {V1, V2, . . . , Vj}for the flows {G1, G2, . . . , Gj} which belong to group 2 are definedas V1=L1/Lsum, V2=L2/Lsum, . . . , Vj=Lj/Lsum, letting C be the outputinterface rate of a packet, the flows {F1, F2, . . . , Fi} of group 1are classified into group 1A whose packet transfer rate is less than{C×W1, C×W2, . . . , C×Wi} and group 1B whose packet transfer rate isnot less than {C×W1, C×W2, . . . , C×Wi}, and the flows {G1, G2, . . . ,Gj} of group 2 are classified into group 2A whose packet transfer rateis less than {(C−Ksum)×V1, (C−Ksum)×V2, . . . , (C−Ksum)×Vj} and group2B whose packet transfer rate is not less than {(C−Ksum)×V1,(C−Ksum)×V2, . . . , (C−Ksum)×Vj}, and a packet received in relation toa flow which belongs to group 1A is preferentially transferred before apacket received in relation to a flow which belongs to group 1B, and apacket received in relation to a flow which belongs to group 2A ispreferentially transferred before a packet received in relation to aflow which belongs to group 2B.
 5. A packet transfer rate monitoringcontrol apparatus according to claim 2 or 3, characterized in thatletting {M1, M2, . . . , Mi} be maximum limiting rates preset for flows{F1, F2, . . . , Fi} which belong to group 1 and Msum be the sum totalof these maximum limiting rates, weighting coefficients {W1, W2, . . . ,Wi} for the flows {F1, F2, . . . , Fi} which belong to group 1 aredefined as W1=M1/Msum, W2=M2/Msum, . . . , Wi=Mi/Msum, letting {N1, N2,. . . , Nj} be maximum limiting rates preset for flows {G1, G2, . . . ,Gj} which belong to group 2 and Nsum be the sum total of these maximumlimiting rates, weighting coefficients {V1, V2, . . . , Vj} for theflows {G1, G2, . . . , Gj} which belong to group 2 are defined asV1=N1/Nsum, V2=N2/Nsum, . . . , Vj=Nj/Nsum, letting C be the outputinterface rate of a packet, the flows {F1, F2, . . . , Fi} of group 1are classified into group 1A whose packet transfer rate is less than{C×W1, C×W2, . . . , C×Wi} and group 1B whose packet transfer rate isnot less than {C×W1, C×W2, . . . , C×Wi}, and the flows {G1, G2, . . . ,Gj} of group 2 are classified into group 2A whose packet transfer rateis less than {(C−Msum)×V1, (C−Msum)×V2, . . . , (C−Msum)×Vj} and group2B whose packet transfer rate is not less than {(C−Msum)×V1,(C−Msum)×V2, . . . , (C−Msum)×Vj}, and a packet received in relation toa flow which belongs to group 1A is preferentially transferred before apacket received in relation to a flow which belongs to group 1B, and apacket received in relation to a flow which belongs to group 2A ispreferentially transferred before a packet received in relation to aflow which belongs to group 2B.
 6. A packet transfer rate monitoringcontrol apparatus according to claim 2 or 3, characterized in thatletting {K1, K2, . . . , Ki} be minimum guaranteed rates preset forflows {F1, F2, . . . , Fi} which belong to group 1 and Ksum be the sumtotal of these minimum guaranteed rates, weighting coefficients {W1, W2,. . . , Wi} for the flows {F1, F2, . . . , Fi} which belong to group 1are defined as W1=K1/Ksum, W2=K2/Ksum, . . . , Wi=Ki/Ksum, letting {L1,L2, . . . , Lj} be minimum guaranteed rates preset for flows {G1, G2, .. . , Gj} which belong to group 2 and Lsum be the sum total of theseminimum guaranteed rates, weighting coefficients {V1, V2, . . . , Vj}for the flows {G1, G2, . . . , Gj} which belong to group 2 are definedas V1=L1/Lsum, V2=L2/Lsum, . . . , Vj=Lj/Lsum, letting {M1, M2, . . . ,Mi} be maximum limiting rates preset for the flows {F1, F2, . . . , Fi}which belong to group 1 and Msum be the sum total of these maximumlimiting rates, weighting coefficients {W1, W2, . . . , Wi} for theflows {F1, F2, . . . , Fi} which belong to group 1 are defined asW1=M1/Msum, W2=M2/Msum, . . . , Wi=Mi/Msum, letting {N1, N2, . . . , Nj}be maximum limiting rates preset for the flows {G1, G2, . . . , Gj}which belong to group 2 and Nsum be the sum total of these maximumlimiting rates, weighting coefficients {V1, V2, . . . , Vj} for theflows {G1, G2, . . . , Gj} which belong to group 2 are defined asV1=N1/Nsum, V2=N2/Nsum, . . . , Vj=Nj/Nsum, by using a parameter α whichtakes a value from 0 to 1, the weighting coefficients {W1, W2, . . . ,Wi} for the flows {F1, F2, . . . , Fi} which belong to group 1 aredefined by W1=α×K1/Ksum+(1−α)×M1/Msum, W2=α×K2/Ksum+(1−α)×M2/Msum, . . ., Wi=α×Ki/Ksum+(1−α)×Mi/Msum, and the weighting coefficients {V1, V2, .. . , Vj} for the flows {G1, G2, . . . , Gj} which belong to group 2 aredefined by V1=α×L1/Lsum+(1−α)×N1/Nsum, V2=α×L2/Lsum+(1−α)×N2/Nsum, . . ., Vj=α×Lj/Lsum+(1−α)×Nj/Nsum, and the parameter α can be externally set.7. A packet transfer rate monitoring control apparatus according toclaim 2 or 3, characterized by further comprising protocol typeidentifying means for identifying the protocol type of a transport layerfrom header information of a received packet, wherein if a packettransfer rate exceeds the maximum limiting rate, it is selected, inaccordance with the transport layer's protocol identified by saidprotocol type identifying means, whether to discard the received packetor perform shaping by delaying transfer of the received packet until thepacket transfer rate becomes not more than the maximum limiting rate. 8.A packet transfer rate monitoring control apparatus according to claim 2or 3, characterized by further comprising protocol type identifyingmeans for identifying the protocol type of a transport layer from headerinformation of a received packet, wherein if the transport layer'sprotocol identified by said protocol type identifying means is TCP(Transmission Control Protocol) and a packet transfer rate exceeds themaximum limiting rate, a CE (Congestion Experienced) bit defined byRFC2481 is added to the header of the packet to be transferred, therebyinforming a transmitting node of suppression of a transmission rate. 9.A packet transfer rate monitoring control apparatus according to claim 2or 3, characterized by further comprising protocol type identifyingmeans for identifying the protocol type of a transport layer from headerinformation of a received packet, wherein if the transport layer'sprotocol identified by said protocol type identifying means is TCP(Transmission Control Protocol) and a packet transfer rate exceeds themaximum limiting rate, the receiving window size is overwritten to 0 inthe TCP header of an acknowledgement packet transferred from a receivingnode to the transmitting node thereafter, thereby informing atransmitting node of suppression of a transmission rate.
 10. A packettransfer rate monitoring control method of a packet transfer apparatusfor routing a variable-length packet, characterized in that from areceived packet an upper layer flow to which the received packet belongsis identified, a packet transfer rate is measured from the transferinterval and length of the received packet, and the measured packettransfer rate is compared with rate information preset for each flow todetermine priority order in which individual received packets aretransferred, thereby preferentially transferring a packet received inrelation to a flow whose packet transfer rate is less than a minimumguaranteed rate before a packet received in relation to a flow whosepacket transfer rate is not less than the minimum guaranteed rate, andpreferentially transferring a packet received in relation to a flowwhose packet transfer rate is less than a maximum limiting rate before apacket received in relation to a flow whose packet transfer rate is notless than the maximum limiting rate.
 11. A packet transfer ratemonitoring control method, characterized by comprising: the upper layerflow identification procedure of identifying, from header information ofa received packet, an upper layer flow to which the received packetbelongs; the packet transfer rate measurement procedure of measuring apacket transfer rate from the transfer interval and length of a receivedpacket, for each flow identified by the upper layer flow identificationprocedure; the comparison procedure of comparing the packet transferrate measured by the packet transfer rate measurement procedure withminimum guaranteed rate information and maximum limiting rateinformation preset for each flow; the classification procedure ofclassifying flows corresponding to received packets, on the basis of theresult of comparison by the comparison procedure, into group 1 to whicha flow whose packet transfer rate is less than the minimum guaranteedrate belongs, group 2 to which a flow whose packet transfer rate is notless than the minimum guaranteed rate and less than the maximum limitingrate belongs, and group 3 to which a flow whose packet transfer rateexceeds the maximum limiting rate belongs; and the transfer controlprocedure of preferentially transferring a packet received in relationto a flow which belongs to group 1 before a packet received in relationto a flow which belongs to group 2, and preferentially transferring apacket received in relation to a flow which belongs to group 2 before apacket received in relation to a flow which belongs to group
 3. 12. Aprogram for controlling the operation of a computer which controls apacket transfer apparatus for routing a variable-length packet,characterized by allowing said computer to execute: the upper layer flowidentification procedure of identifying, from header information of areceived packet, an upper layer flow to which the received packetbelongs; the packet transfer rate measurement procedure of measuring apacket transfer rate from the transfer interval and length of a receivedpacket, for each flow identified by the upper layer flow identificationprocedure; the comparison procedure of comparing the packet transferrate measured by the packet transfer rate measurement procedure withminimum guaranteed rate information and maximum limiting rateinformation preset for each flow; the classification procedure ofclassifying flows corresponding to received packets, on the basis of theresult of comparison by the comparison procedure, into group 1 to whicha flow whose packet transfer rate is less than the minimum guaranteedrate belongs, group 2 to which a flow whose packet transfer rate is notless than the minimum guaranteed rate and less than the maximum limitingrate belongs, and group 3 to which a flow whose packet transfer rateexceeds the maximum limiting rate belongs; and the transfer controlprocedure of preferentially transferring a packet received in relationto a flow which belongs to group 1 before a packet received in relationto a flow which belongs to group 2, and preferentially transferring apacket received in relation to a flow which belongs to group 2 before apacket received in relation to a flow which belongs to group 3.